const express = require('express')
const router = express.Router()
const Sequelize = require('sequelize');
//finder 方法返回模型实例，您可以按照 实例 的文档中所述，为结果调用任何模型实例成员
//匹配一张表(相当于变量保存表对象)
const User = sequelize.define('myuser', {
	userName: {
		type: Sequelize.STRING
	},
	userAge: {
		type: Sequelize.STRING
	}
},{
	// createdAt: Sequelize.DATE,
	// updatedAt: Sequelize.DATE,
	tableName: 'myuser'
});

//默认情况下，Sequelize 会将 createdAt 和 updatedAt 属性添加到模型中，以便您能够知道数据库条目何时进入数据库以及何时被更新。
//对表进行操作
//增加
router.get('/postList',function (req,res) {
	console.log(req);
	//force 是否新建表并添加
	User.sync({force: false}).then(() => {
		// 表已创建
		return User.create({
			userName: req.query.userName,
			userAge: req.query.userAge
		});
		console.log("数据已创建")
});
	//res.status(404).send('没有权限访问');
	//res.send('成功写入数据')
	//res.json({a:1,b:'ok'});
});
//查询
router.get('/getList',function (req,res) {
	if(req.query.userName){
		//筛选出符合标准的第一条数据
		User.findOne({where:{userName:req.query.userName}}).then(project =>{
			res.send(project);
			console.log(project);
		})
	}else{
		//搜索数据库中的多个元素
		User.findAll().then(users => {
			res.send(users);
			console.log(users)
		})
	}
});
//更新
router.get('/update',function (req,res) {
	User.update({
		userName:'abcde'
	},{where:{userName:'guowenxi'}}).then(()=>{
		console.log(User)
	})
});
//批量操作
router.get('/',function (req,res) {
	User.bulkCreate([
		{ userName: 'barfooz', userAge: 14 },
		{ username: 'foo', userAge: 15 },
		{ username: 'bar', userAge: 16 }
	]).then(() => { // 注意: 这里没有凭据, 然而现在你需要...
		return User.findAll();
	}).then(users => {
		res.json(users);
		//console.log(users) // ... 以获取 user 对象的数组
	})
});


module.exports=router;